﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoAgencia
    {
        public Agencia Inserir(Agencia agencia, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(agencia, usuarioPermissao);
        }

        public Agencia Atualizar(Agencia agencia, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(agencia, usuarioPermissao);
        }

        public void Excluir(Agencia agencia, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(agencia, usuarioPermissao);
        }

        public Agencia ObterAgenciaPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterAgenciaPorId(id, usuarioPermissao);
        }

        public IList<Agencia> ObterTodosAgencias(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string codigo, 
                                                string numeroAgencia, Pessoa gerente, Banco banco, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, 
                                                DateTime? fimVigenciaDe, DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosAgencias(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo, numeroAgencia,
                                                                gerente, banco, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);
        }

        public IList<Agencia> ObterAgenciaPorNumero(string numero, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterAgenciaPorNumero(numero, usuarioPermissao);
        }

        public Agencia ObterAgenciaPorCodigo(string codigo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterAgenciaPorCodigo(codigo, usuarioPermissao);
        }
    }
}